In some applications, large numbers of computers may require the application of large software images, such as an operating system (OS). For example, a group including hundreds of servers may be connected to the Internet to support a well-known website; these servers may be considered to be clients or “targets”. It may be necessary to download to the targets an OS image from a master server, or simply a “server”. Such a download may be prompted by creation of the group, or by a software update which must be applied to the group. To facilitate the download of the OS image to the targets, the server may use a multicast system.
The multicast involves the transmission from the server to large numbers of clients or targets of large data files or “images” which may be encrypted and/or compressed. Upon receipt of the data, each target is configured to decrypt and decompress the data, and to store the resulting data on the hard drive. Where the targets are not a homogeneous group, there may be a wide discrepancy in the rate at which different targets process and store the data. Accordingly, some targets may receive data at a rate that is slower than that at which they could accurately receive and process the data, while other targets may be unable to receive and process the incoming data without error.
Accordingly, a need exists for an improved method and procedure for multicasting data, wherein a rate of data transfer is selectable to result in a desired outcome.